home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Merciful 5
/
Merciful - Disc 5.iso
/
software
/
r
/
real_3d
/
real3dv3.3b.dms
/
real3dv3.3b.adf
/
GUI.LZH
/
GUI
/
example.gui
< prev
next >
Wrap
Text File
|
1995-03-25
|
4KB
|
187 lines
(
( GUI Example
(
?& EXAMPLE_GUI NOT ?IF
1 CONSTANT EXAMPLE_GUI
"ui.rpl" LOAD
( Variables
VARIABLE exaWindow
VARIABLE exaLoad
VARIABLE exaCancel
VARIABLE exaCheckBox
VARIABLE exaSlider
VARIABLE exaMx
VARIABLE exaString
VARIABLE exaText
VARIABLE exaText2
VARIABLE exaText3
100 STRING sBuf
( this prints given string to aText2 gadget
: PrintMsg
UI_Done SWAP UITX_Text exaText2 FETCH UI_SETATTRS
;
( Callbacks for Gadgets
: excbLoad
100 STRING sValue
100 STRING sBuffer
UI_Done sValue UIST_String exaString FETCH UI_GETATTRS
sValue "Loading %s" sBuffer SPRINTF
sBuffer PrintMsg
;
: excbCheck
IF
UI_Done 1 UI_Disabled exaSlider FETCH UI_SETATTRS
UI_Done 1 UI_Disabled exaMx FETCH UI_SETATTRS
UI_Done 1 UI_Disabled exaString FETCH UI_SETATTRS
UI_Done 1 UI_Disabled exaLoad FETCH UI_SETATTRS
ELSE
UI_Done 0 UI_Disabled exaSlider FETCH UI_SETATTRS
UI_Done 0 UI_Disabled exaMx FETCH UI_SETATTRS
UI_Done 0 UI_Disabled exaString FETCH UI_SETATTRS
UI_Done 0 UI_Disabled exaLoad FETCH UI_SETATTRS
ENDIF
;
: excbSlider
"Slider %d" sBuf SPRINTF
sBuf PrintMsg
;
: excbMx
"Mutual Exclude %d" sBuf SPRINTF
sBuf PrintMsg
;
: excbString
PrintMsg
;
: excbCancel
exaWindow FETCH UI_DELETE
FALSE exaWindow STORE
;
( Callback for Window
: excbWindow
PARAM
VARIABLE iMouseY
VARIABLE iMouseX
VARIABLE iEvent
ENDPARAM
UIWM_Move iEvent FETCH = IF
iMouseY FETCH iMouseX FETCH "Mouse moved to %ld %ld" sBuf SPRINTF
UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
ENDIF
UIWM_LMBDown iEvent FETCH = IF
"Mouse button clicked" sBuf CPY
UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
ENDIF
UIWM_LMBUp iEvent FETCH = IF
"Mouse button released" sBuf CPY
UI_Done sBuf UITX_Text exaText3 FETCH UI_SETATTRS
ENDIF
UIWM_Close iEvent FETCH = IF
exaWindow FETCH UI_DELETE
FALSE exaWindow STORE
ENDIF
;
?ENDIF ( EXAMPLE_GUI
(
( Create display elements
(
exaWindow FETCH
?IF
"Understood" "Window already opened" GET_KEY DROP
?ELSE
( Open a window
UI_Done & excbWindow 0 0 400 200 "RPL Example Window" UI_WINDOW exaWindow STORE
( create a read-only text
UI_Done
"RPL gadgets" UITX_Text
exaWindow FETCH 0 150 15 100 12 "Header Text:" UI_TEXT exaText STORE
( create a check box
UI_Done
0 UICB_Checked
exaWindow FETCH & excbCheck 100 30 50 12 "Check Box" UI_CHECKBOX exaCheckBox STORE
( create a string gadget
UI_Done
"spline" UIST_String
exaWindow FETCH & excbString 100 45 150 12 "String" UI_STRING exaString STORE
( create a slider gadget
UI_Done
0 UISL_Min
100 UISL_Max
20 UISL_Level
exaWindow FETCH & excbSlider 100 60 50 12 "Slider" UI_SLIDER exaSlider STORE
( create a mutual exlude gadget
5 PARRAY exaLabels
( initialize string pointer array
0 "Choice 4" "Choice 3" "Choice 2" "Choice 1" exaLabels PINIT
UI_Done
2 UIMX_Active
exaLabels UIMX_Labels
exaWindow FETCH & excbMx 100 75 150 12 "Mx" UI_MX exaMx STORE
( This text gadget shows gadget events
UI_Done
"Welcome to RPL" UITX_Text
1 UITX_Border
exaWindow FETCH 0 100 105 150 12 "Gadget:" UI_TEXT exaText2 STORE
( window events are printed here
UI_Done
"This is cool" UITX_Text
1 UITX_Border
exaWindow FETCH 0 100 130 250 12 "Info:" UI_TEXT exaText3 STORE
( create button gadgets
UI_Done
exaWindow FETCH & excbLoad 20 150 150 12 "Load" UI_BUTTON exaLoad STORE
UI_Done
exaWindow FETCH & excbCancel 200 150 150 12 "Cancel" UI_BUTTON exaCancel STORE
( realize gadgets
exaWindow FETCH UI_REALIZE
?ENDIF ( exaGuiCreated